/* ==========================================================
   Salma Fashion — EasyOrders Custom CSS
   Designed for the EasyOrders Fasty skeleton theme.
   Also includes fallbacks for Default / Sphinx class names.
   Brand direction: Minimal Feminine Premium
   ========================================================== */

@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@400;500;600;700;800&display=swap');

:root {
  --salma-fuchsia: #E9158C;
  --salma-fuchsia-dark: #C90F75;
  --salma-fuchsia-soft: #F8D7E8;
  --salma-blush: #FDF3F8;
  --salma-black: #111111;
  --salma-text: #2B2B2B;
  --salma-muted: #767676;
  --salma-line: #ECE7EA;
  --salma-light: #F7F7F7;
  --salma-white: #FFFFFF;
  --salma-radius-sm: 10px;
  --salma-radius-md: 16px;
  --salma-radius-lg: 24px;
  --salma-shadow: 0 10px 30px rgba(17,17,17,.07);
  --salma-shadow-hover: 0 16px 40px rgba(17,17,17,.12);
  --salma-container: 1240px;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  direction: rtl;
  background: var(--salma-white);
  color: var(--salma-text);
  font-family: 'Cairo', Tahoma, Arial, sans-serif !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body, button, input, select, textarea {
  font-family: 'Cairo', Tahoma, Arial, sans-serif !important;
}

a { color: inherit; text-decoration: none; }
img { max-width: 100%; }

/* ---------- Global container ---------- */
.container_class {
  width: min(calc(100% - 32px), var(--salma-container));
  margin-inline: auto;
}

/* ---------- Announcement / top bar ---------- */
.default_header_top_text,
.sphinx_header_top_text,
.fasty_header_top_text {
  background: var(--salma-fuchsia) !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .1px;
  padding: 9px 14px !important;
  text-align: center;
}

/* ---------- Header ---------- */
.default_header,
.sphinx_header,
.fasty_header {
  background: rgba(255,255,255,.96) !important;
  border-bottom: 1px solid var(--salma-line) !important;
  box-shadow: 0 4px 18px rgba(17,17,17,.04) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.default_header_container,
.sphinx_header_container,
.fasty_header_container {
  min-height: 76px !important;
  gap: 24px !important;
}

.default_header_logo,
.sphinx_header_logo,
.fasty_header_logo {
  max-height: 58px !important;
  width: auto !important;
  object-fit: contain !important;
}

.sphinx_header_links a,
.fasty_header a,
.default_header a {
  font-weight: 600 !important;
  transition: color .2s ease, opacity .2s ease;
}

.sphinx_header_links a:hover,
.fasty_header a:hover,
.default_header a:hover {
  color: var(--salma-fuchsia) !important;
}

/* ---------- Section headings ---------- */
.home_section_top_container,
.category_section_header {
  margin-block: 40px 22px !important;
  text-align: center !important;
}

.home_section_top_title,
.category_section_header_title {
  position: relative;
  display: inline-block;
  margin: 0;
  color: var(--salma-black) !important;
  font-size: clamp(25px, 2.2vw, 34px) !important;
  font-weight: 800 !important;
  line-height: 1.35;
}

.home_section_top_title::after,
.category_section_header_title::after {
  content: '';
  display: block;
  width: 46px;
  height: 3px;
  border-radius: 50px;
  background: var(--salma-fuchsia);
  margin: 10px auto 0;
}

/* ---------- Home hero / slider ---------- */
.home_slider_container,
.home_slider_slide,
.home_slider_card {
  border-radius: 0 !important;
  overflow: hidden;
}

.home_slider_card img,
.home_slider_slide img {
  width: 100%;
  min-height: 360px;
  max-height: 680px;
  object-fit: cover;
}

.swiper-pagination-bullet {
  background: rgba(17,17,17,.35) !important;
  opacity: 1 !important;
}

.swiper-pagination-bullet-active {
  background: var(--salma-fuchsia) !important;
  width: 22px !important;
  border-radius: 99px !important;
}

.slider_button {
  border-radius: 50% !important;
  background: rgba(255,255,255,.9) !important;
  color: var(--salma-black) !important;
  box-shadow: var(--salma-shadow) !important;
}

/* ---------- Category cards: Dresses / Suits ---------- */
.default_category_card {
  position: relative;
  overflow: hidden;
  border-radius: var(--salma-radius-lg) !important;
  background: var(--salma-light);
  box-shadow: none !important;
  border: 1px solid var(--salma-line);
  transition: transform .28s ease, box-shadow .28s ease;
}

.default_category_card:hover {
  transform: translateY(-4px);
  box-shadow: var(--salma-shadow-hover) !important;
}

.default_category_card_img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover !important;
  transition: transform .45s ease;
}

.default_category_card:hover .default_category_card_img {
  transform: scale(1.035);
}

.default_category_card_name {
  padding: 14px 16px 18px !important;
  color: var(--salma-black) !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  text-align: center !important;
}

/* ---------- Banners ---------- */
.home_banner {
  margin-block: 32px !important;
  overflow: hidden;
  border-radius: var(--salma-radius-lg) !important;
  background: var(--salma-blush);
}

.home_banner_img {
  width: 100%;
  min-height: 220px;
  max-height: 560px;
  object-fit: cover !important;
  display: block;
}

/* ---------- Product cards ---------- */
.fasty_product_card,
.default_product_featured_card,
.default_product_list_card,
.home_products_grid_card,
.products_grid_card,
.category_products_grid_card {
  background: #fff !important;
  border: 1px solid var(--salma-line) !important;
  border-radius: var(--salma-radius-md) !important;
  box-shadow: none !important;
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.fasty_product_card:hover,
.default_product_featured_card:hover,
.default_product_list_card:hover,
.home_products_grid_card:hover,
.products_grid_card:hover,
.category_products_grid_card:hover {
  transform: translateY(-5px);
  border-color: rgba(233,21,140,.22) !important;
  box-shadow: var(--salma-shadow-hover) !important;
}

.fasty_product_card_img,
.default_product_featured_card_img,
.default_product_img,
.default_product_preview_img,
.sphinx_product_img,
.fasty_product_img {
  width: 100% !important;
  object-fit: cover !important;
  background: #f7f7f7;
}

.fasty_product_card_img,
.default_product_featured_card_img {
  aspect-ratio: 4 / 5 !important;
}

.fasty_product_card_name {
  color: var(--salma-black) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.7 !important;
  margin-top: 10px !important;
}

.fasty_product_card_price,
.product_price {
  color: var(--salma-fuchsia) !important;
  font-weight: 800 !important;
}

.fasty_product_card_btn,
.add_to_cart_btn,
.checkout_btn,
.form_checkout_btn,
.checkout_buy_now {
  background: var(--salma-fuchsia) !important;
  color: #fff !important;
  border: 1px solid var(--salma-fuchsia) !important;
  border-radius: 999px !important;
  font-weight: 800 !important;
  min-height: 46px !important;
  padding-inline: 22px !important;
  box-shadow: none !important;
  transition: background .2s ease, transform .2s ease, box-shadow .2s ease !important;
}

.fasty_product_card_btn:hover,
.add_to_cart_btn:hover,
.checkout_btn:hover,
.form_checkout_btn:hover,
.checkout_buy_now:hover {
  background: var(--salma-fuchsia-dark) !important;
  border-color: var(--salma-fuchsia-dark) !important;
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(233,21,140,.18) !important;
}

.fasty_product_card_wishlist_btn,
.product_gallery_wishlist_btn,
.product_gallery_share_btn {
  background: #fff !important;
  color: var(--salma-black) !important;
  border: 1px solid var(--salma-line) !important;
  border-radius: 50% !important;
  transition: all .2s ease;
}

.fasty_product_card_wishlist_btn:hover,
.product_gallery_wishlist_btn:hover,
.product_gallery_share_btn:hover {
  color: var(--salma-fuchsia) !important;
  border-color: var(--salma-fuchsia) !important;
}

/* ---------- Product grids ---------- */
.home_products_grid_container,
.products_grid_container,
.category_products_grid_container {
  gap: 20px !important;
}

/* ---------- Product page ---------- */
.product_name {
  color: var(--salma-black) !important;
  font-size: clamp(24px, 2.7vw, 38px) !important;
  font-weight: 800 !important;
  line-height: 1.45 !important;
}

.product_price_container {
  margin-block: 12px 18px !important;
}

.product_price {
  font-size: clamp(22px, 2vw, 30px) !important;
}

.product_description,
.product_tabs_container {
  color: var(--salma-text) !important;
  line-height: 2 !important;
}

.product_form_checkout {
  background: var(--salma-blush) !important;
  border: 1px solid var(--salma-fuchsia-soft) !important;
  border-radius: var(--salma-radius-lg) !important;
  padding: 20px !important;
}

.quantity_container {
  border: 1px solid var(--salma-line) !important;
  border-radius: 999px !important;
  overflow: hidden;
}

.quantity_btn {
  background: #fff !important;
  color: var(--salma-black) !important;
}

.quantity_btn:hover {
  background: var(--salma-blush) !important;
  color: var(--salma-fuchsia) !important;
}

/* ---------- Forms ---------- */
.global_input,
.global_textarea,
.gov_select,
input,
textarea,
select {
  border: 1px solid #DDD6DA !important;
  border-radius: var(--salma-radius-sm) !important;
  background: #fff !important;
  min-height: 48px;
  color: var(--salma-text) !important;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.global_input:focus,
.global_textarea:focus,
.gov_select:focus,
input:focus,
textarea:focus,
select:focus {
  border-color: var(--salma-fuchsia) !important;
  box-shadow: 0 0 0 3px rgba(233,21,140,.09) !important;
  outline: none !important;
}

/* ---------- Reviews ---------- */
.reviews_container,
.user_review {
  border-radius: var(--salma-radius-md) !important;
}

.user_review {
  border: 1px solid var(--salma-line) !important;
  background: #fff !important;
  padding: 16px !important;
}

.user_review_name {
  color: var(--salma-black) !important;
  font-weight: 800 !important;
}

/* ---------- Shipping / totals ---------- */
.total_shipping_container,
.total_price_container {
  border-top: 1px solid var(--salma-line) !important;
  padding-top: 12px !important;
}

.total_price {
  color: var(--salma-fuchsia) !important;
  font-weight: 800 !important;
}

/* ---------- Fake stock / visitors: make subtle ---------- */
.fake_stock_container,
.fake_visitors_container {
  background: #FFF8FB !important;
  border: 1px solid var(--salma-fuchsia-soft) !important;
  border-radius: var(--salma-radius-sm) !important;
  color: var(--salma-text) !important;
}

.fake_stock_progress {
  background: var(--salma-fuchsia) !important;
}

/* ---------- Checkout ---------- */
.checkout_container {
  gap: 26px !important;
}

.checkout_order_summary,
.checkout_cart_items_container,
.checkout_form {
  background: #fff !important;
  border: 1px solid var(--salma-line) !important;
  border-radius: var(--salma-radius-lg) !important;
  box-shadow: var(--salma-shadow) !important;
}

.checkout_bg_right,
.checkout_bg_left {
  opacity: .16 !important;
  filter: saturate(.4);
}

/* ---------- Payments ---------- */
.payment_card {
  border: 1px solid var(--salma-line) !important;
  border-radius: var(--salma-radius-md) !important;
  background: #fff !important;
}

.payment_card:hover {
  border-color: var(--salma-fuchsia) !important;
}

.radio_circle {
  border-color: var(--salma-fuchsia) !important;
}

/* ---------- Thanks page ---------- */
.thanks_container,
.order_invoice_container,
.thanks_content {
  border-radius: var(--salma-radius-lg) !important;
}

/* ---------- Footer ---------- */
.default_footer {
  margin-top: 56px !important;
  background: var(--salma-black) !important;
  color: #fff !important;
  padding-top: 42px !important;
}

.default_footer a,
.default_footer_link,
.default_footer_social_link,
.footer_store_info {
  color: rgba(255,255,255,.82) !important;
}

.default_footer a:hover,
.default_footer_link:hover,
.default_footer_social_link:hover {
  color: #fff !important;
}

/* ---------- Selection / scrollbar accents ---------- */
::selection {
  background: var(--salma-fuchsia);
  color: #fff;
}

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: #f3f3f3; }
::-webkit-scrollbar-thumb { background: #c8c8c8; border-radius: 99px; }
::-webkit-scrollbar-thumb:hover { background: var(--salma-fuchsia); }

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
  .default_header_container,
  .sphinx_header_container,
  .fasty_header_container {
    min-height: 68px !important;
  }

  .default_header_logo,
  .sphinx_header_logo,
  .fasty_header_logo {
    max-height: 48px !important;
  }

  .home_slider_card img,
  .home_slider_slide img {
    min-height: 300px;
    max-height: 500px;
  }

  .home_products_grid_container,
  .products_grid_container,
  .category_products_grid_container {
    gap: 14px !important;
  }
}

@media (max-width: 640px) {
  .container_class {
    width: min(calc(100% - 22px), var(--salma-container));
  }

  .default_header_top_text,
  .sphinx_header_top_text,
  .fasty_header_top_text {
    font-size: 11.5px !important;
    padding-block: 8px !important;
  }

  .home_section_top_container,
  .category_section_header {
    margin-block: 30px 16px !important;
  }

  .home_section_top_title,
  .category_section_header_title {
    font-size: 24px !important;
  }

  .home_slider_card img,
  .home_slider_slide img {
    min-height: 250px;
    max-height: 430px;
  }

  .default_category_card {
    border-radius: 16px !important;
  }

  .fasty_product_card,
  .default_product_featured_card,
  .default_product_list_card,
  .home_products_grid_card,
  .products_grid_card,
  .category_products_grid_card {
    border-radius: 12px !important;
  }

  .fasty_product_card_name { font-size: 13.5px !important; }

  .fasty_product_card_btn,
  .add_to_cart_btn,
  .checkout_btn,
  .form_checkout_btn,
  .checkout_buy_now {
    min-height: 44px !important;
    font-size: 13.5px !important;
    padding-inline: 16px !important;
  }

  .product_form_checkout {
    padding: 14px !important;
    border-radius: 16px !important;
  }

  .default_footer {
    margin-top: 38px !important;
    padding-top: 32px !important;
  }
}
